home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 132_01 / cwrtini.c < prev    next >
Text File  |  1985-08-19  |  2KB  |  78 lines

  1. /*
  2.     init() initializes the lists
  3. */
  4. init()
  5. {
  6. int *mlist,*pg0list,*pg1list; /* pointers to master list and page list */
  7. int    counter,*ahead,*objptr;
  8.  
  9. /*
  10.     Initialize debug pointers
  11. */
  12.     gscan = 24576;    /* 6000 hex */
  13.     gscan1    = 24578;
  14.     gxleft    = 24580;
  15.     gxright    = 24582;
  16.     gyupper    = 24584;
  17.     gylower = 24586;
  18.     gxm    = 24588;
  19.     gym    = 24590;
  20.     counter = 0;
  21.     mlist = master;
  22.     pg0list = lpage0;
  23.     pg1list = lpage1;
  24.     while(counter < NOBJ) {
  25.         if(counter != (NOBJ - 1)) 
  26.             ahead = mlist + MASLEN;
  27.         else    ahead = NULL;
  28.         if(counter != NULL)
  29.             objptr = obj3;
  30.         else    objptr = obj1;
  31.         setmlist(mlist,ahead,counter,(counter*8),(counter*8),NULL,objptr);
  32.         if(counter != (NOBJ - 1)) {
  33.             copylist(mlist,pg0list,(pg0list+PGLEN));
  34.             copylist(mlist,pg1list,(pg1list+PGLEN));
  35.         }
  36.         else {
  37.             copylist(mlist,pg0list,NULL);
  38.             copylist(mlist,pg1list,NULL);
  39.         }
  40.         mlist = mlist + MASLEN;
  41.         pg1list = pg1list + PGLEN;
  42.         pg0list = pg0list + PGLEN;
  43.         counter++;
  44.     }
  45.     putclk();    /* enable screen clock sync */
  46. }
  47. /*
  48.     setmlist    sets up the master display list where
  49.     setmlist(listpointer,FORWARD,NUMBER,X,Y,FLAGS,OBJPTR) is
  50.      the expected argument list.
  51.     Calls - No one
  52.     Returns - nothing
  53. */
  54. setmlist(plist,for,num,x,y,flags,pobj)
  55. int    *plist,for,num,x,y,flags,*pobj;
  56. {
  57.     plist[FORWARD]=for;
  58.     plist[NUMBER] = num;
  59.     plist[X]      = x;
  60.     plist[Y]      = y;
  61.     plist[FLAGS]  = flags;
  62.     plist[OBJPTR] = pobj;
  63. }
  64. /*
  65.     copylist    initializes a page list from a master list
  66.     argument list : (Masterlist pointer,Pagelist pointer,FORWARD)
  67. */
  68. copylist(mlist,pglist,for)
  69. int    *mlist,*pglist,for;
  70. {
  71.     pglist[FORWARD]    = for;
  72.     pglist[NUMBER]    = mlist[NUMBER];
  73.     pglist[X]    = mlist[X];
  74.     pglist[Y]    = mlist[Y];
  75.     pglist[FLAGS]    = mlist[FLAGS];
  76.     pglist[OBJPTR]    = mlist[OBJPTR];
  77. }
  78.